package com.event.management.frontend.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;

/**
 * 用户报名订单实体类
 */
@Data
@TableName("event_orders")
public class Order {
    /**
     * 订单ID
     */
    private Long id;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 活动ID
     */
    private Long eventId;
    
    /**
     * 票种ID
     */
    private Long ticketId;
    
    /**
     * 购买数量
     */
    private Integer quantity;
    
    /**
     * 订单总金额
     */
    private BigDecimal totalPrice;
    
    /**
     * 订单状态: unpaid-未支付, paid-已支付, cancelled-已取消
     */
    private String status;
    
    /**
     * 报名人姓名
     */
    private String realName;
    
    /**
     * 报名人手机号
     */
    private String phone;
    
    /**
     * 联系人邮箱
     */
    @TableField(value = "contact_email", jdbcType = JdbcType.VARCHAR)
    private String contactEmail;
    
    /**
     * 收货详细地址
     */
    private String address;
    
    /**
     * 邮政编码
     */
    private String zipCode;
    
    /**
     * 出生日期
     */
    @TableField(value = "birth_date", jdbcType = JdbcType.DATE)
    private LocalDate birthDate;
    
    /**
     * 国家
     */
    @TableField(value = "country", jdbcType = JdbcType.VARCHAR)
    private String country;
    
    /**
     * 支付方式
     */
    private String paymentMethod;
    
    /**
     * 支付详情
     */
    private String paymentDetails;
    
    /**
     * 备注说明
     */
    private String note;
    
    /**
     * 创建时间
     */
    private Date createdAt;
    
    /**
     * 支付时间
     */
    private Date paidAt;
} 